package com.san.metadata.service;

import java.util.List;

import com.san.common.utils.PageUtils;
import com.san.common.utils.Query;
import com.san.metadata.domain.BaseLegalPersonDO;
import com.san.metadata.vo.BaseLegalPersonVO;

/**
 * 法人基础辨识信息服务接口
 * 
 * @author xiangyz
 *
 */
public interface BaseLegalPersonService {

	/**
	 * 根据法人名称/统一社会信用代码查询法人辨识信息
	 * 
	 * @param legalPersonName 法人名称
	 * @param uscc            统一社会信用代码
	 * @param isFuzzy         是否模糊查询
	 * @param page            页码
	 * @return
	 * @throws Exception
	 */
	public PageUtils findLegalPerson(String legalPersonName, String uscc, boolean isFuzzy, int page) throws Exception;

	
	/**
	 * 高级查询
	 * 
	 * @param query 查询条件
	 * @return
	 * @throws Exception
	 */
	public PageUtils findLegalPersonByAdvancedQuery(Query query) throws Exception;
	
	/**
	 * 根据唯一标识ID/法人名称/统一社会信用代码获取法人辨识信息
	 * 
	 * @param legalPersonName
	 * @param uscc
	 * @return
	 * @throws Exception
	 */
	public List<BaseLegalPersonDO> getLegalPerson(String legalPersonName,String uscc) throws Exception;

	/**
	 * 批量保存
	 * 
	 * @param list
	 * @return
	 */
	public int batchSave(List<BaseLegalPersonVO> list) throws Exception;

	/**
	 * 批量修改
	 * 
	 * @param list
	 * @return
	 */
	public int batchUpdate(List<BaseLegalPersonVO> list) throws Exception;
}
